/**
 * huize Service Inc
 * All Rights Reserved @2018
 */
package com.huize.ladon.apm.common.constant;

/**
 * 描述: 公共常量
 *
 * @author tianyuliang
 * @version $Id: CommonConstants.java, v0.1 2019/4/2
 */
public final class CommonConstants {

    /**
     * 默认UTF-8编码
     */
    public final static String UTF8 = "UTF-8";

    /**
     * 测试用例请求数据的文件名称
     */
    public static final String TEST_CASE_FILE_NAME = "request.json";

    /**
     * 测试用例响应数据的文件名称
     */
    public static final String TEST_CASE_RESPONSE_DATA_FILE_NAME = "response.json";

    /**
     * 测试用例文件子目录
     */
    public static final String TEST_CASE_CHILDREN_DIR = "/src/test/java/";

    /**
     * java文件子目录
     */
    public static final String MAIN_CASE_CHILDREN_DIR = "/src/main/java/";

    /**
     * 通配符号*
     */
    public static final String WILDCARDS = "*";

    /**
     * 方法签名标识符#
     */
    public static final String METHOD_SIGNATURE_CHAR = "#";

    /**
     * 方法分割标识符.
     */
    public static final String METHOD_SPLIT_CHAR = "\\.";

    /**
     * 默认join链接符号，逗号
     */
    public static final String DEFAULT_JOIN_SEPARATOR = ",";

    /**
     * @号
     */
    public static final String SPECIAL_HOLDER = "@";

    /**
     * 默认点号分隔符
     */
    public static final String DOT = ".";

    /**
     * 默认等号字符
     */
    public static final String EQUAL = "=";

    /**
     * 默认空格字符
     */
    public static final String BLANK = " ";
    /**
     * 井号
     */
    public static final String WELL_NUMBER = "#";
    /**
     * 百分号
     */
    public static final String PERCENT = "%";
    /**
     * 大括号 开始
     */
    public static final String BRACE_START = "{";
    /**
     * 大括号 结束
     */
    public static final String BRACE_END = "}";
    /**
     * 圆括号 开始
     */
    public static final String PARENTHESIS_START = "(";
    /**
     * 圆括号 结束
     */
    public static final String PARENTHESIS_END = ")";

    /**
     * 默认单引号
     */
    public static final String SINGLE_QUOTE = "'";

    /**
     * 默认单引号(转义带\'操作)
     */
    public static final String SINGLE_ESCAPE_QUOTE = "\\'";

    /**
     * 默认反勾号`(键盘左上角)
     */
    public static final String BACK_TICK = "`";

    /**
     * 默认分号
     */
    public static final String DEFAULT_SEMICOLON = ";";

    /**
     * 按“总体”查看
     */
    public static final String OVERALL_KEY = "overall";

    /**
     * 按“总体”查看
     */
    public static final String OVERALL_VALUE = "总体";

    /**
     * 统计日期 yyyyMMdd
     */
    public static final String KEY_STAT_DATE = "statDate";

    /**
     * 统计类型 realtime 或者 delay
     */
    public static final String KEY_STAT_TYPE = "statType";

    /**
     * header请求头,参数key值
     */
    public static final String KEY_AUTH = "auth";

    /**
     * 异常信息最大长度21000
     */
    public static final int EXCEPTION_MAX_LENGTH = 21000;

    /**
     * 接口的FullPath最大值 300长度
     */
    public static final int INTERFACE_FULL_PATH_MAX_LENGTH = 300;

    /**
     * 链路输入/输出参数最大值 2000长度
     */
    public static final int TRACE_PARAM_MAX_LENGTH = 2000;

    /**
     * 满意度区间默认值，500毫秒
     */
    public static final int DEFAULT_TOLERANCE_INTERVAL = 500;

    /**
     * 数字0
     */
    public static final Integer ZERO = 0;

    /**
     * trace链路原始数据，拉取次数，最大值16次
     */
    public static final int ORIGIN_TRACE_MAX_FETCH_COUNT = 16;

    /**
     * 分页查询，默认最大200条
     */
    public static final int PAGE_MAX_LIMIT = 200;

    /**
     * 最大缓存5000条
     */
    public static final long CACHE_MAX_COUNT = 5000;

    /**
     * 每次拉取traceId最大条数
     */
    public static final int TRACE_ID_FETCH_COUNT = 200;

    /**
     * 操作成功状态码：200
     */
    public static final int SUCCESS_STATUS_CODE = 200;

}
